package com.itheima.controller;


import com.itheima.common.constant.MessageConstant;
import com.itheima.common.entity.Result;
import com.itheima.common.utils.AliOssUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;

import java.io.IOException;
import java.util.UUID;

/*
@RestController
@RequestMapping("/Setmeal")
@Slf4j
public class UploadController {
    @Autowired
    private AliOssUtil aliOssUtil;

    @PostMapping("/upload")

    *//**
     * 文件上传方法
     *
     * 该方法接收一个multipart文件作为输入，并尝试将其上传到阿里云OSS服务中
     * 使用UUID作为文件名以避免文件覆盖的问题，并保留原始文件的扩展名
     * 如果上传成功，返回上传结果信息；如果上传失败，则记录错误日志并返回上传失败的结果
     *
     * @param file 用户上传的文件，作为multipart形式的文件输入
     * @return 返回上传结果的封装对象Result
     *//*
    public Result upload(MultipartFile file) {
        // 记录文件上传的日志信息
        log.info("文件上传:{}", file);

        try {
            //获取原始文件名
            String originalFilename = file.getOriginalFilename();
            // 获取文件扩展名
            String extension = originalFilename.substring(originalFilename.lastIndexOf("."));
            // 使用UUID生成唯一文件名，避免文件覆盖
            String objectName = UUID.randomUUID() + extension;

            // 调用aliOssUtil的upload方法上传文件到阿里云OSS
            String upload = aliOssUtil.upload(file.getBytes(), objectName);
            // 如果上传成功，返回成功结果
            return new  Result(true, MessageConstant.UPLOAD_SUCCESS, upload);
        } catch (IOException e) {
            // 如果上传过程中发生IO异常，记录错误日志
            log.error("文件上传失败:{}", e);
        }

        // 如果上传失败，返回失败结果
        return new Result(false, MessageConstant.PIC_UPLOAD_FAIL);
    }
}*/
